﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="GraphEventArgs.cs" company="">
//   
// </copyright>
// <summary>
//   The graph event args.
// </summary>
// --------------------------------------------------------------------------------------------------------------------


using System;

namespace Systemathics.FrameWork
{
    [Serializable]
    public sealed class GraphEventArgs : EventArgs
    {
        public Object DataToDraw { get; private set; }
        public double Pl { get; private set; }
        public int Position { get; private set; }
        public decimal CustomValue1 { get; private set; }
        public decimal CustomValue2 { get; private set; }
        public Axis? CustomValue1Axis { get; set; }
        public Axis? CustomValue2Axis { get; set; }


        public GraphEventArgs(Object serie)
        {
            DataToDraw = serie;
        }
        public GraphEventArgs(Trade trade, double pl, int pos, decimal custom1, decimal custom2)
        {
            DataToDraw = trade;
            Pl = pl;
            Position = pos;
            CustomValue1 = custom1;
            CustomValue2 = custom2;
        }
        public GraphEventArgs(Bar b, double pl, int pos, decimal custom1, decimal custom2)
        {
            DataToDraw = b;
            Pl = pl;
            Position = pos;
            CustomValue1 = custom1; 
            CustomValue2 = custom2;
        }
        public GraphEventArgs(Quote quote, double pl, int pos, decimal custom1, decimal custom2)
        {
            DataToDraw = quote;
            Pl = pl;
            Position = pos;
            CustomValue1 = custom1;
            CustomValue2 = custom2;
        }
    }
}